1. Field of the Invention
The present invention generally relates to data processing systems. More particularly, this invention relates generally to a method and system for managing files which are modified while the contents of the files are being viewed in a browser window in a data processing system.
2. Background of the Invention
Data processing devices are used for a wide range of versatile applications, providing services which may range from editing of text documents or spreadsheet applications to complex software systems, for example, for computer aided design or manufacturing, purchasing, computer aided banking applications, entertainment applications, and numerous other application areas. Increasingly complex software applications are employed in the field of personal services, for example, for personal data organization and mobile communication applications such as mobile telephones or hand-held computing devices, or communication services and other services provided over computer networks, such as the Internet.
As more elements are included in computer aided applications and as more computing devices are involved in providing a particular service, for example, over a computer network, it becomes more important to ensure that all elements of the computerized application know about relevant operations and statuses of the other elements of the application.
For applications involving a plurality of data processing devices cooperating with one another, a user may input instructions at one data processing device for effecting operations at another data processing device. Further, in a complex application executed on a single data processing device, one element of the application may issue an instruction to another element of the application to perform certain services. In any of these cases, it is important that all elements of the application or data processing devices are aware of these commands or operations.
As an example, if a user of a text processing application or another type of service application selects a text document and issues an instruction to open the document, the text processing application may obtain and effect a display of the document. The user may then edit this document using a graphical user interface. For example, a user may enter text through a keyboard, while reviewing the changes to the text document on a display. Periodically, or after the last modifying operation, the user may choose to save the text document.
If, however, during editing and before saving changes to the text document, the user decides to interrupt the text editing operations by terminating the processing of the document, by launching another application, or by performing any other activity, it is desirable to notify the text processing application regarding this new activity of the user, i.e., that the text editing operation has been interrupted or terminated. The text processing application may then either remain active in the background, invisible to the user, awaiting renewed activation, or may be terminated.
If the application is terminated, it is desirable to provide the user with an option to either save the modifications to the text document, to discard the modifications, or to resume editing of the text document, i.e., to abort the termination procedure.
While the above functionality can be implemented in a “closed” environment, such as within an application executing with an operating system on a personal computer, where all applications and interactions can be easily tracked, implementing the functionality described above may be difficult in distributed applications such as applications which are carried out using a plurality of data processing devices in a computer network. In the above example, if a user interacts with the text processing application through a graphical user interface residing on one data processing device, while the main part of the text processing application is located on another data processing device, the user could intentionally or accidentally terminate the graphical user interface part of the application during an editing process before saving changes to the text document, in which case the modifications may be lost, or forcedly saved without offering the user any options. This problem may be particularly severe in distributed applications involving the Internet, or any computer network, where communications between data processing devices controlling parts of an application, such as the above text processing application or applications involving distributed databases, could be interrupted, or where the parts of the application could be independently terminated.
Therefore, a need has long existed for a method and system that overcome the problems noted above and others previously experienced.